Data stored in a direct access storage device (DASD) may be arranged in a fixed block architecture (FBA) format or a count-key-data (CKD) format. The FBA format involves the storage of data in blocks of fixed size. These blocks are addressed by a block number relative to the beginning of the file. An FBA block is referred to as a sector, which is addressable by the host. The CKD format is a DASD data-recording format employing self-defining record formats in which each record is represented by a count area that identifies the record and specifies its format, an optional key area that may be used to identify the data area contents, and a data area that contains the user data for the record. The CKD format provides for variable format data records. In the prior art, it is commonly found that open systems hosts access data in a DASD using the FBA format and ESCON and mainframe hosts access data in the CKD format.
FIG. 1 illustrates a prior art structure for a single CKD track in a CKD device. An index point (IP) is a starting point, followed by a gap (G), which indicates a break between the fields. A home address (HA) follows the first gap (G) and identifies the location of the track in the DASD and its operational status. Following the home address (HA) are the records, R.sub.0 through R.sub.n. Record zero (R.sub.0) contains either system or user data. Each following record, R.sub.1 through R.sub.n, includes a count area that identifies the record and defines the lengths of the key and data areas. The key area of each record is optional and may be used by the programmer to identify the information in the data area record. The data area contains data. The number of records (R) that can be placed on a track depends on the length of the data areas of the records, whether the records contain a key area, and the size of the gaps. Records may be of equal or unequal lengths.
With FBA devices, the data may be directly addressed without the storage controller having to search the physical DASD device to locate the record. CKD devices, on the other hand, include data descriptors, e.g., the count and key areas, which the storage controller must bypass and interpret to locate the data areas of the records. Because of the fixed length of data sectors, FBA devices have higher capacity and better performance than CKD formatted devices. Notwithstanding, many mainframe and ESCON devices utilize the CKD format because CKD permits data records to be recorded as units of contiguous signals. Whereas, with FBA, data must be dissected and distributed into a group of fixed block-size sectors. Moreover, since the introduction of the IBM System/360 in 1964, nearly all IBM large and intermediate DASD devices employ the CKD data format.
The prior art discloses systems for emulating the CKD format on FBA devices and for converting CKD formatted records to the FBA format. Such systems are disclosed and discussed in U.S. Pat. No. 5,535,372 to Michael T. Benhase et al., which is assigned to IBM, the assignee of the present application, and is incorporated herein by reference in its entirety. Still further, data in the CKD format is typically written and imposed onto the fixed blocks of a FBA device, as discussed in U.S. Pat. Nos. 5,535,372 and 5,664,144. In such case, the data area of a CKD record can span multiple fixed blocks or sectors in the FBA device. U.S. Pat. No. 5,664,144 to Moshe Yanai et al. is assigned to EMC corporation, and is incorporated herein by reference in its entirety.
An open systems host views the DASD as a series of logical units (LUNs) comprised of fixed blocks of data. A storage controller presents linear addressable arrays of fixed blocks of data to the open systems host 4. A controller would provide a CKD host, such as an ESCON host, with views of the data areas in the CKD volumes of the DASD. However, an open systems host cannot directly read linear arrays of fixed blocks in a CKD device because many of the fixed blocks would contain data location information, e.g., the header address, count area, and key area, which is unintelligible to the open systems host.